$(function() {
    /*新闻列表页*/
    var $container = $('.news-list'),
            $li = $container.find('li'),
            arrlis = new Array(),//声明数组用于存储每个分类数据总量
            arrlen = new Array(),//声明数组用于存储每个分类数据总量
            thisPerPageLen = 10;//定义列表条数

    //先分别将每个分类的数据、数据总量填入2个空数组中
    arrlis = [];
    arrlen = [];
    $container.each(function() {
        var lis = $(this).find('li'),
                len = $(this).find('li').length;

        arrlis.push(lis);
        arrlen.push(len);
    });

    //点击左侧分类，显示对应分类数据
    $('.side-nav').find('li').on('click', function() {
        var index = $(this).index(),
            $thisContainer = $container.eq(index),
            $li = arrlis[index],
            total = arrlen[index];//从初始化的数组中获取当前分类的总数据量

        /*点击后显示对应分类数据*/
        $container.eq(index).show()
            .siblings().hide();

        if(total > 0) {
            $('.page').show();//显示分页

            /*
             * 加载列表
             * @param curPage 整数值，当前页码
             * @param size 整数，每次加载的数据量
             * @param total 数据总量
             */
            function loadList(curPage, size, total){
                if(arguments.length === 3 && size > 0){ //判定是否传递了4个必需参数以及每次加载数据量是否大于0
                    var loadedItemStart = (curPage - 1) * size, //加载起点
                        loadedItemEnd = loadedItemStart + size; //加载结束点

                    if(total > 0){
                        loadItems(); //一开始先加载指定的数据条数
                    }

                    function loadItems(){
                        var str = '';
                        loadedItemEnd = loadedItemEnd < total ? loadedItemEnd : total; //计算每次加载到第几条结束，最终值不能超过总数据量

                        for(var i = loadedItemStart; i < loadedItemEnd; i++){
                            var curItem = $li.eq(i).html();

                            str += '<li class="clearfix">'+curItem+'</li>'; //数据填充并拼接字符串
                        }

                        $thisContainer.html(str); //将结果添加到容器元素中
                    }
                }
            }

            $('.page').pagination({
                itemsTotal: total,
                perPageLen: thisPerPageLen,
                prevPageTxt: '«',
                nextPageTxt: '»',
                activeCls: 'cur',
                showInput: false,
                onReady: function(curPage, size, total){
                    loadList(curPage, size, total);
                },
                onClick: function(curPage, size, total){
                    loadList(curPage, size, total);
                },
                onSubmit: function(curPage, size, total){
                    loadList(curPage, size, total);
                }
            });
        }else {
            $container.hide();
            $('.page').hide();//隐藏分页
        }
    });
    $('.side-nav').find('li').eq(0).trigger('click');
});
